package controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.logging.Logger;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

import model.AreaModel;
import model.AsistenteModel;
import model.Detalle_Area_PersonaModel;
import model.JefeModel;
import model.PersonaModel;
import model.UsuarioModel;
import entidad.Area;
import entidad.AsistenteAdministrativo;
import entidad.Detalle_Area_Persona;
import entidad.JefeAdministrativo;
import entidad.Persona;
import entidad.Usuario;
import view.JDBuscarAsistente;
import view.JDBuscarJefe;
import view.JDBuscarUsuario;
import view.JDBuscarUsuario02;
import view.JDBuscarUsuario03;
import view.JFrmAsignacionBien;
import view.JFrmJefe;
import view.JFrmPecosaInterno;
import view.JFrmUsuario;

public class JDBuscaUsuarioController03 implements ActionListener,MouseListener {
	private JDBuscarUsuario03 jdBuscaUsuario;
	private JFrmPecosaInterno jfrmAsignacion ;
	private UsuarioModel usuarioModel;
	private AreaModel areaModel;
	private PersonaModel personaModel;
	private ImageIcon foto;
	private Detalle_Area_PersonaModel detalle_area_personaModel;

	
	

	public JFrmPecosaInterno getJfrmAsignacion() {
		return jfrmAsignacion;
	}

	public void setJfrmAsignacion(JFrmPecosaInterno jfrmAsignacion) {
		this.jfrmAsignacion = jfrmAsignacion;
	}

	public JDBuscaUsuarioController03(JDBuscarUsuario03 jdBuscaUsuario) {
			this.jdBuscaUsuario=jdBuscaUsuario;
			areaModel= new AreaModel();
			usuarioModel = new UsuarioModel();
			personaModel= new PersonaModel();
			detalle_area_personaModel = new Detalle_Area_PersonaModel();
		}

	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==jdBuscaUsuario.btnCapturar){
			capturar();
		}
	}

	private void capturar() {
		String codigo =jdBuscaUsuario.txtCodigo.getText().trim();
		if(codigo.length()!=0){
			Usuario persona=usuarioModel.buscaUsuario(codigo);
			jfrmAsignacion.txtCodigoUsuario.setText(persona.getIdPersona());
			jfrmAsignacion.txtNombre.setText(persona.getNombrePersona());
			jfrmAsignacion.txtApellido.setText(persona.getApellidoPersona());
			jfrmAsignacion.txtCorreo.setText(persona.getCorreoPersona());
			
			ArrayList<Area>listaArea01 = areaModel.listaArea();
			Detalle_Area_Persona de= detalle_area_personaModel.buscadetalleAreaPersona(persona.getIdPersona());
			for (Area area:listaArea01) {
				if(area.getIdArea().equals(de.getIdArea())){
				 jfrmAsignacion.txtArea.setText(area.getDescripcionArea());
				 break;
				}
			}
			
			jdBuscaUsuario.dispose();
		}else{
			JOptionPane.showMessageDialog(jdBuscaUsuario, "Elija de la lista");
		}
		
	}
	
	public void llenarTabla(){
		DefaultTableModel modelo = (DefaultTableModel) jdBuscaUsuario.table.getModel();
		
		int filas = jdBuscaUsuario.table.getRowCount();
		for (int i = 0; filas > i; i++) {
			modelo.removeRow(0);
		}
		
		ArrayList<Usuario> lista=usuarioModel.listaUsuario();

		for (Usuario c: lista) {
			if(!c.getIdPersona().equals(jfrmAsignacion.txtCodigoPersonaViejo.getText().trim())){
				Object fila[] = { c.getIdPersona(), c.getNombrePersona(), c.getApellidoPersona(),
						c.getCelularPersona(), c.getCorreoPersona(),
						c.getTelefono() };
				modelo.addRow(fila);
			}
			
			
		}
	}

	@Override
	public void mouseClicked(MouseEvent arg0) {
		if (jdBuscaUsuario.table.getSelectedRows().length > 0) {
			int row = jdBuscaUsuario.table.getSelectedRow();
			String codigo =(String) jdBuscaUsuario.table.getValueAt(row, 0);

			jdBuscaUsuario.txtCodigo.setText(codigo);
		}
		
	}

	@Override
	public void mouseEntered(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseExited(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mousePressed(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseReleased(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	
	

}
